]> dgit.raspbian.org Git - gnome-shell.git/log
gnome-shell.git
4 years agoscreencast: Don't force buffer copies on recent gstreamer versions
Sebastian Keller [Wed, 5 Oct 2022 22:20:16 +0000 (00:20 +0200)]
screencast: Don't force buffer copies on recent gstreamer versions

Gstreamer 1.20.4 includes a fix in the videoconvert element that makes
it no longer necessary to always copy buffers in pipewiresrc to have
smooth recordings. This change now skips those otherwise unnecessary
copies when using a new enough videoconvert.

Related: https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2928
Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2503>

4 years agopowerProfiles: Avoid warnings on missing power-profiles-daemon
Florian Müllner [Thu, 20 Oct 2022 11:04:18 +0000 (13:04 +0200)]
powerProfiles: Avoid warnings on missing power-profiles-daemon

GDBusProxy transparently handles the remote object appearing and
vanishing. It is therefore not an error if the service is not
running at the time the proxy is initialized, so we proceed and
try to read the list of profiles which is null in that case,
resulting in (harmless but annoying) warnings.

Avoid this by only reading the initial list of profiles if the
service has a name owner.

https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/5992

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2518>

4 years agocss/quick-settings: Update icon-button styles
Sam Hewitt [Thu, 13 Oct 2022 16:51:17 +0000 (14:21 -0230)]
css/quick-settings: Update icon-button styles

- add an entire flat style to button drawing function
- clean up the icon button css in quick settings
- adjust padding in QS sliders
- fixes #5918

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2510>

4 years agoinputMethod: Check return value when letting IM handle virtual keys
Carlos Garnacho [Tue, 11 Oct 2022 16:24:15 +0000 (18:24 +0200)]
inputMethod: Check return value when letting IM handle virtual keys

When propagating keys from the OSK, we usually feed these directly to
the IBusInputContext and let the IM handle the effects of this virtual
key event (which may also include feeding a key event back to us).

But these functions may also return a FALSE value if the key was "let
through" by the IM, which means the ball is in our yard again, and
we are responsible of letting this event get to its destination.

If that happens, just fall through, so the string is committed to
the client as an UTF-8 string, or propagated through keyboard events.

Closes: https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/5930
Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2508>

4 years agokeyboard: Refactor code
Carlos Garnacho [Tue, 11 Oct 2022 16:23:19 +0000 (18:23 +0200)]
keyboard: Refactor code

Move inline anonymous function to be its own. This method
will become asynchronous in following commits.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2508>

4 years agoshell/app-system: Retrack windows if necessary
Florian Müllner [Fri, 9 Sep 2022 16:25:22 +0000 (18:25 +0200)]
shell/app-system: Retrack windows if necessary

We currently don't update running apps when the set of installed
apps changes. However we should, as the change could mean that

 - the app got uninstalled, and the running app should become
   window-backed

 - a newly installed app got launched before the app cache was
   updated, and we replace the window-backed fallback with the
   proper app

https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/5664

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2480>

4 years agostatus: Ignore prior single-element lists updating input sources MRU
Carlos Garnacho [Mon, 19 Sep 2022 20:35:15 +0000 (22:35 +0200)]
status: Ignore prior single-element lists updating input sources MRU

Consider the existing input sources MRU only valid if it contained
more than one element to pick from. Fixes the following situation
with initial-setup sessions:

- Initial setup Session starts, with several input sources already
  configured ("us" between them)
- InputSourceManager initializes, only the default "us" keymap is
  available
- MRU list is constructed, "us" is picked
- InputSourceManager catches up with session configuration, the
  other extra sources are added
- MRU list is reconstructed, "us" is already the most recent
- Session ends up with "us" picked, regardless of its position in
  the list, and no MRU existing prior to startup

If we consider the intermediate single-element MRU list invalid,
it is still possible to pick the best default source between all
the configured ones (the one that was put first in the list,
basically), after initialization is complete.

But also, it is unnecessary to have if there is a single source to
pick from. After the sources list has two elements or more, the
MRU list will become effective and preserved during changes to
the available sources.

Closes: https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/5873
Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2495>

4 years agoaltTab: Always include label in thumbnail
Florian Müllner [Mon, 12 Sep 2022 14:44:27 +0000 (16:44 +0200)]
altTab: Always include label in thumbnail

We currently special-case the no-window-title case when creating
items, but not when accessing labels later, for example during
allocation.

The easiest option it to create the label unconditionally, so do
that.

https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/5851

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2483>

4 years agocss: Tidy up the card style
Sam Hewitt [Mon, 17 Oct 2022 16:13:46 +0000 (13:43 -0230)]
css: Tidy up the card style

- remove the drop shadow
- clean up mixin references

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2513>

4 years agoUpdate Punjabi translation
A S Alam [Mon, 17 Oct 2022 00:10:50 +0000 (00:10 +0000)]
Update Punjabi translation

4 years agoenvironment: Preserve time 0 when animations are disabled
Alessandro Bono [Fri, 14 Oct 2022 22:16:16 +0000 (00:16 +0200)]
environment: Preserve time 0 when animations are disabled

There are cases where the animation time is set to 0 on purpose
in order to not animate. When animations are disabled via
/org/gnome/desktop/interface/enable-animations those animation
times are increased from 0 to 1. This makes the "Caps lock is on."
message appear unconditionally in the lockscreen for a brief moment.

Select the minimum between the two values. So that an animation time
0 is preserved instead of being replaced by 1.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2471>

4 years agoshellEntry: Remove unused variable
Alessandro Bono [Mon, 5 Sep 2022 17:10:54 +0000 (19:10 +0200)]
shellEntry: Remove unused variable

Unused since 26235bbe5433c48b81bd3917aaf9ef14ff1929b2.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2471>

4 years agoinputMethod: Also forward TERMINAL input purpose
Jonas Ådahl [Fri, 14 Oct 2022 19:41:00 +0000 (21:41 +0200)]
inputMethod: Also forward TERMINAL input purpose

It was added relatively recently (1.5.24), so check if it exists first.

Closes: https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/5958
Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2511>

4 years agoUpdate Georgian translation
Zurab Kargareteli [Thu, 6 Oct 2022 21:22:36 +0000 (21:22 +0000)]
Update Georgian translation

4 years agoinhibitShortcutsDialog: Don't override resource
Florian Müllner [Thu, 6 Oct 2022 12:30:20 +0000 (14:30 +0200)]
inhibitShortcutsDialog: Don't override resource

PermissionStore's Set() method takes a complete permission
table, so when setting an app's permission, we are implicitly
removing all previously set entries for other apps.

Switch to the SetPermission() method which sets the permission
for a single app.

https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/5937

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2504>

4 years agostatus/volume: Include origin in device names
Florian Müllner [Mon, 3 Oct 2022 16:30:13 +0000 (18:30 +0200)]
status/volume: Include origin in device names

The description alone may not be descriptive enough, so include
the origin (if available) to disambiguate the name.

This is consistent with the Sound Settings panel.

https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/5829

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2502>

4 years agoUpdate Bulgarian translation
Alexander Shopov [Sun, 2 Oct 2022 16:34:31 +0000 (16:34 +0000)]
Update Bulgarian translation

4 years agoUpdate Chinese (Taiwan) translation
Cheng-Chia Tseng [Sat, 1 Oct 2022 07:56:37 +0000 (07:56 +0000)]
Update Chinese (Taiwan) translation

4 years agoUpdate Abkhazian translation
Nart Tlisha [Thu, 29 Sep 2022 15:31:12 +0000 (15:31 +0000)]
Update Abkhazian translation

4 years agoUpdate Ukrainian translation
Olexander [Wed, 28 Sep 2022 16:28:27 +0000 (16:28 +0000)]
Update Ukrainian translation

4 years agoUpdate Friulian translation
Fabio Tomat [Tue, 27 Sep 2022 11:20:41 +0000 (11:20 +0000)]
Update Friulian translation

4 years agoUpdate Slovak translation
Dušan Kazik [Tue, 27 Sep 2022 06:49:32 +0000 (06:49 +0000)]
Update Slovak translation

4 years agoUpdate Persian translation
Danial Behzadi [Tue, 20 Sep 2022 10:04:56 +0000 (10:04 +0000)]
Update Persian translation

4 years agoUpdate Catalan translation
Jordi Mas [Tue, 20 Sep 2022 05:16:44 +0000 (07:16 +0200)]
Update Catalan translation

4 years agoUpdate Swedish translation
Anders Jonsson [Mon, 19 Sep 2022 21:02:22 +0000 (21:02 +0000)]
Update Swedish translation

4 years agoUpdated Lithuanian translation
Aurimas Černius [Mon, 19 Sep 2022 19:51:13 +0000 (22:51 +0300)]
Updated Lithuanian translation

4 years agoUpdate Russian translation
Aleksandr Melman [Mon, 19 Sep 2022 09:50:41 +0000 (09:50 +0000)]
Update Russian translation

4 years agoUpdate Nepali translation
Pawan Chitrakar [Mon, 19 Sep 2022 05:11:30 +0000 (05:11 +0000)]
Update Nepali translation

4 years agoUpdate Indonesian translation
Kukuh Syafaat [Mon, 19 Sep 2022 02:35:39 +0000 (02:35 +0000)]
Update Indonesian translation

4 years agoUpdate Portuguese translation
Hugo Carvalho [Sun, 18 Sep 2022 21:42:40 +0000 (21:42 +0000)]
Update Portuguese translation

4 years agoUpdate French translation
Guillaume Bernard [Sun, 18 Sep 2022 08:55:46 +0000 (08:55 +0000)]
Update French translation

4 years agoUpdate Hebrew translation
Yosef Or Boczko [Sun, 18 Sep 2022 08:21:55 +0000 (08:21 +0000)]
Update Hebrew translation

4 years agoUpdate Serbian translation
Марко Костић [Sun, 18 Sep 2022 07:33:29 +0000 (07:33 +0000)]
Update Serbian translation

4 years agoUpdate Kazakh translation
Baurzhan Muftakhidinov [Sun, 18 Sep 2022 05:39:36 +0000 (05:39 +0000)]
Update Kazakh translation

4 years agobluetooth: Remove unused 'had-bluetooth-devices-setup' setting
Bastien Nocera [Thu, 15 Sep 2022 16:05:58 +0000 (18:05 +0200)]
bluetooth: Remove unused 'had-bluetooth-devices-setup' setting

Now that we always show the Bluetooth switch when there's a Bluetooth
adapter hiding somewhere, remove all the settings it used as storage.

If the user wants to really really disable any Bluetooth adapters in
their system, the gnome-bluetooth documentation explains how to do that
irrespective of GNOME:
https://gitlab.gnome.org/GNOME/gnome-bluetooth/#multiple-bluetooth-adapters

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2488>

4 years agobluetooth: Show the Bluetooth switch in more cases
Bastien Nocera [Thu, 15 Sep 2022 16:03:22 +0000 (18:03 +0200)]
bluetooth: Show the Bluetooth switch in more cases

In older versions of GNOME, when a menu was used for Bluetooth devices,
we tried to avoid showing the Bluetooth menu to folks who didn't use
Bluetooth.

This kept causing problems as the menu would disappear if no
devices were setup and the platform "airplane mode" removed the
Bluetooth device from the USB bus, making it impossible to detect
whether a Bluetooth device existed, compared to a user unplugging a
removable Bluetooth device.

Closes: #5749
Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2488>

4 years agostatus: Use fixed sorting of input sources on empty MRU
Carlos Garnacho [Wed, 14 Sep 2022 18:20:14 +0000 (20:20 +0200)]
status: Use fixed sorting of input sources on empty MRU

When updating the MRU sources if there was no prior MRU, we want
to go with the unmodified list of sources in visibility order.

However iterating over object properties happens in an undetermined
order, so the initial MRU list ends up picking a value at random.

In order to prefer the sources list in the same order than they
appear in the menu if there was no prior MRU, order the keys
when accessing it and building the initial list of sources.

Closes: https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/5873
Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2487>

4 years agoquickSettings: Update bind constraint offset on idle
Jonas Ådahl [Wed, 7 Sep 2022 21:17:22 +0000 (23:17 +0200)]
quickSettings: Update bind constraint offset on idle

Use Meta.LaterType.BEFORE_REDRAW to queue setting the bind constraint
offset in an idle callback. This is needed since the signals that
trigger updating the offset may be emitted during allocation, at which
point queuing new relayouts isn't ideal, since it could result in
relayout cycles. In this case, we really do want to relayout as a side
effect of another actors allocation, so make this explicit.

This fixes a few warnings such as:

The actor '<unnamed>[<StBoxLayout>:0x3138d70]' is currently inside an
allocation cycle; calling clutter_actor_queue_relayout() is not recommended

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2476>

4 years agopanel: Add `PanelMenu.Button` menu when `menu-set` is emitted
Andy Holmes [Mon, 5 Sep 2022 00:21:29 +0000 (17:21 -0700)]
panel: Add `PanelMenu.Button` menu when `menu-set` is emitted

When a `PanelMenu.Button` is added to the `statusArea`, its menu is
added to the `PopupMenuManager` if it has one at the time. If a menu is
added later or a new one set, the new menu is never added.

Move the call to `PopupMenuManager.addMenu()` from `_addToPanelBox()`
to `_onMenuSet()`, which is called when the `PanelMenu.Button` is added
and whenever it emits the `menu-set` signal.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2470>

4 years agoBump version to 43.0
Florian Müllner [Sat, 17 Sep 2022 16:34:27 +0000 (18:34 +0200)]
Bump version to 43.0

Update NEWS.

4 years agoUpdate Slovenian translation
Matej Urbančič [Fri, 16 Sep 2022 19:43:02 +0000 (19:43 +0000)]
Update Slovenian translation

4 years agoUpdate Occitan translation
Quentin PAGÈS [Fri, 16 Sep 2022 19:21:38 +0000 (19:21 +0000)]
Update Occitan translation

4 years agoUpdate Danish translation
Alan Mortensen [Fri, 16 Sep 2022 14:20:32 +0000 (14:20 +0000)]
Update Danish translation

4 years agoUpdated Spanish translation
Daniel Mustieles [Fri, 16 Sep 2022 08:52:05 +0000 (10:52 +0200)]
Updated Spanish translation

4 years agoUpdate Brazilian Portuguese translation
Enrico Nicoletto [Thu, 15 Sep 2022 21:25:53 +0000 (21:25 +0000)]
Update Brazilian Portuguese translation

4 years agoUpdate German translation
Jürgen Benvenuti [Thu, 15 Sep 2022 19:48:40 +0000 (19:48 +0000)]
Update German translation

4 years agoUpdate Galician translation
Fran Dieguez [Thu, 15 Sep 2022 16:49:05 +0000 (16:49 +0000)]
Update Galician translation

4 years agoUpdate Chinese (China) translation
Luming Zh [Thu, 15 Sep 2022 16:41:44 +0000 (16:41 +0000)]
Update Chinese (China) translation

4 years agoUpdate Basque translation
Asier Sarasua Garmendia [Thu, 15 Sep 2022 16:08:49 +0000 (16:08 +0000)]
Update Basque translation

4 years agoUpdate Swedish translation
Anders Jonsson [Thu, 15 Sep 2022 14:27:49 +0000 (14:27 +0000)]
Update Swedish translation

4 years agoUpdate Polish translation
Piotr Drąg [Thu, 15 Sep 2022 14:02:56 +0000 (16:02 +0200)]
Update Polish translation

4 years agooverviewControls: Don't update work area box when headless
Jonas Ådahl [Thu, 8 Sep 2022 10:31:15 +0000 (12:31 +0200)]
overviewControls: Don't update work area box when headless

When headless, we don't have a monitor we can derive a size from, so
don't even try, just let it be updated when we actually have a monitor
that will show stuff.

Closes: https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/5831
Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2478>

4 years agoUpdate Hebrew translation
Yosef Or Boczko [Thu, 15 Sep 2022 10:52:58 +0000 (10:52 +0000)]
Update Hebrew translation

4 years agoUpdate Finnish translation
Jiri Grönroos [Thu, 15 Sep 2022 06:22:30 +0000 (06:22 +0000)]
Update Finnish translation

4 years agoUpdate Ukrainian translation
Yuri Chornoivan [Thu, 15 Sep 2022 05:55:48 +0000 (05:55 +0000)]
Update Ukrainian translation

4 years agoUpdated Czech translation
Marek Černocký [Thu, 15 Sep 2022 05:48:01 +0000 (07:48 +0200)]
Updated Czech translation

4 years agoUpdate Catalan translation
Jordi Mas [Thu, 15 Sep 2022 05:41:44 +0000 (07:41 +0200)]
Update Catalan translation

4 years agoUpdate Hungarian translation
Balázs Úr [Wed, 14 Sep 2022 23:48:52 +0000 (23:48 +0000)]
Update Hungarian translation

4 years agoUpdate Turkish translation
Emin Tufan Çetin [Wed, 14 Sep 2022 23:25:58 +0000 (23:25 +0000)]
Update Turkish translation

4 years agoUpdate Croatian translation
Goran Vidović [Wed, 14 Sep 2022 22:30:10 +0000 (22:30 +0000)]
Update Croatian translation

4 years agostatus/system: Add context to a11y label
Florian Müllner [Tue, 13 Sep 2022 16:59:35 +0000 (18:59 +0200)]
status/system: Add context to a11y label

"Lock Screen" can refer to the lock screen component or the action
of locking the screen. Add context to clarify that the button
refers to the latter.

https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/5852

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2485>

4 years agostatus/system: Mark 'Power Off' menu header for translation
Florian Müllner [Tue, 13 Sep 2022 15:18:26 +0000 (17:18 +0200)]
status/system: Mark 'Power Off' menu header for translation

This was missed when the menu was added as part of quick settings.

Luckily we can re-use the msg-id/context from the shutdown dialog,
so the change is not subject to the string freeze.

https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/5862

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2484>

4 years agoUpdate French translation
Alexandre Franke [Wed, 14 Sep 2022 12:07:40 +0000 (12:07 +0000)]
Update French translation

4 years agoUpdate Catalan translation
Jordi Mas [Sun, 11 Sep 2022 12:26:43 +0000 (14:26 +0200)]
Update Catalan translation

4 years agoUpdate Russian translation
Aleksandr Melman [Sat, 10 Sep 2022 19:26:01 +0000 (19:26 +0000)]
Update Russian translation

4 years agoUpdate Basque translation
Asier Sarasua Garmendia [Sat, 10 Sep 2022 11:03:08 +0000 (11:03 +0000)]
Update Basque translation

4 years agoUpdate Bulgarian translation
Alexander Shopov [Sat, 10 Sep 2022 08:47:26 +0000 (08:47 +0000)]
Update Bulgarian translation

4 years agoUpdated Spanish translation
Daniel Mustieles [Fri, 9 Sep 2022 15:03:12 +0000 (17:03 +0200)]
Updated Spanish translation

4 years agoUpdate Catalan translation
Jordi Mas [Fri, 9 Sep 2022 07:45:26 +0000 (09:45 +0200)]
Update Catalan translation

4 years agoclassic: Make login entries legible
Jakub Steiner [Thu, 8 Sep 2022 09:43:50 +0000 (11:43 +0200)]
classic: Make login entries legible

- hardcoded color hotfix for 43. A more systemic approach discussed below

See https://gitlab.gnome.org/GNOME/gnome-shell-extensions/-/issues/410

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2477>

4 years agoUpdate Nepali translation
Pawan Chitrakar [Wed, 7 Sep 2022 21:38:03 +0000 (21:38 +0000)]
Update Nepali translation

4 years agologinManager: Fix canRebootToBootLoaderMenu() result
Florian Müllner [Tue, 6 Sep 2022 14:37:25 +0000 (16:37 +0200)]
loginManager: Fix canRebootToBootLoaderMenu() result

Since commit a3db9093834, the `result` variable holds the
destructured result of the D-Bus call, not the results array
as previously.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2472>

4 years agoUpdate Swedish translation
Anders Jonsson [Tue, 6 Sep 2022 18:55:48 +0000 (18:55 +0000)]
Update Swedish translation

4 years agoUpdated Lithuanian translation
Aurimas Černius [Mon, 5 Sep 2022 19:45:01 +0000 (22:45 +0300)]
Updated Lithuanian translation

4 years agoquick-settings: Add ellipses to 'Log Out' string
sabriunal [Sat, 3 Sep 2022 16:41:55 +0000 (19:41 +0300)]
quick-settings: Add ellipses to 'Log Out' string

According to GNOME HIG, if an item opens a new window or dialog,
it should be indicated with ellipses.

This change adds ellipses to the "Log Out" menu item
in the quick access menu.

Fixes #5821

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2467>

4 years agoUpdate Occitan translation
Quentin PAGÈS [Sun, 4 Sep 2022 18:51:36 +0000 (18:51 +0000)]
Update Occitan translation

4 years agoUpdate German translation
Jürgen Benvenuti [Sun, 4 Sep 2022 14:51:24 +0000 (14:51 +0000)]
Update German translation

4 years agoBump version to 43.rc
Florian Müllner [Sun, 4 Sep 2022 13:17:47 +0000 (15:17 +0200)]
Bump version to 43.rc

Update NEWS.

4 years agoUpdate Korean translation
Changwoo Ryu [Sun, 4 Sep 2022 10:15:11 +0000 (10:15 +0000)]
Update Korean translation

4 years agoscreencast: Always copy buffers in pipewiresrc
Sebastian Keller [Sun, 21 Aug 2022 14:00:40 +0000 (16:00 +0200)]
screencast: Always copy buffers in pipewiresrc

Pipewire 0.3.52 via commit a1f33a99 introduced a change that affects how
long pipewiresrc holds onto the pw_buffers it dequeued. Before that
change the pw_buffer was held until the end of the videoconvert element
at the beginning of the pipeline. After that change the pw_buffer was
held onto until the filesink at the end of the pipeline. This was
starving MetaScreenCastStreamSrc of pw_buffers to record new frames
into, resulting in the majority of frames being missed, especially in
situations in which the encoder was taking longer.

Pipewire 0.3.57 via commit 1ea1d525 will allow queuing the pw_buffer
early again via the `always-copy` option. This however is only a
workaround until a proper solution is found in either pipewire or
gstreamer that does not depend on copying the buffer contents and
instead queues the pw_buffer again after videoconvert as prior to
a1f33a99.

Since it is not clear yet when a proper solution will arrive, this makes
use of `always-copy` as a workaround for now and should be reverted once
it is no longer needed.

Related: https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/5585
Related: https://gitlab.freedesktop.org/pipewire/pipewire/-/issues/2461
Related: https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/283
Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2436>

4 years agosignalTracker: Remove SignalTracker after its last signal got untracked
Sebastian Keller [Sun, 28 Aug 2022 22:03:50 +0000 (00:03 +0200)]
signalTracker: Remove SignalTracker after its last signal got untracked

The object the SignalTracker belongs to is stored in a map managed by
the SignalManager which keeps a reference to that object. This map is
never destroyed nor is any entry ever removed. This leads to all objects
that ever had SignalTrackers used on them being kept alive even after
all references outside of the SignalTracker are long gone. This then
also extends to other objects which are leaked indirectly through
reference chains from these objects.

And if some of those objects are GObjects, this will prevent them from
being finalized, leaking further resources. A StWidget for example will
not release its shadow textures.

Fix this by destroying the SignalTracker and removing it from the
SignalManager once the last signal it was tracking has been untracked.

A WeakMap could have been used as well, but we need the Map to be
iterable in some of the following changes.

Closes: https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/5807
Closes: https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/5796
Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2466>

4 years agosignalTracker: Don't try to create a new SignalTracker for disconnecting
Sebastian Keller [Mon, 29 Aug 2022 02:19:28 +0000 (04:19 +0200)]
signalTracker: Don't try to create a new SignalTracker for disconnecting

After the next commit, when some classes, such as PopupMenuManager try
to disconnect via a destroy handler, the SignalTracker might have
already been destroyed, so trying to get it from the SignalManager will
cause it to create a new one, which will then try to connect to the
destroy signal of the already destroyed object.

This could for example be triggered by changing backgrounds.

Fix this by not doing anything in disconnectObject if there is no
SignalTracker for that object.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2466>

4 years agoRevert "signalTracker: Use WeakMap in SignalManager to avoid leaking objects"
Sebastian Keller [Fri, 2 Sep 2022 16:37:13 +0000 (18:37 +0200)]
Revert "signalTracker: Use WeakMap in SignalManager to avoid leaking objects"

This reverts commit 085102be74f4c98094712a165e5128feaca50438.

We need the SignalManager map top be iterable at shutdown for some of
the following changes. A WeakMap is not iterable. This revert changes it
back to a regular Map, which re-introduces the leaks caused by this.
Those will be fixed differently by the two followup commits.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2466>

4 years agostatus/bluetooth: Indicate progress on toggle
Florian Müllner [Mon, 22 Aug 2022 22:06:42 +0000 (00:06 +0200)]
status/bluetooth: Indicate progress on toggle

Turning bluetooth on or off can be very slow ­– 10-15 seconds on
my system – and we currently don't provide any feedback that
something is indeed happening until the state changes at last.

Address this by using the `acquiring` icon when the adapter is
in a transitioning state.

https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/5773

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2444>

4 years agostatus/bluetooth: Expose adapter-state
Florian Müllner [Tue, 23 Aug 2022 14:30:32 +0000 (16:30 +0200)]
status/bluetooth: Expose adapter-state

GnomeBluetooth now exposes a more precise state than the binary
"adapter fully powerered on/off" property. Expose that on the
BtClient object to make it available to the toggle and indicator.

https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/5773

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2444>

4 years agoconfig: Check for new required GnomeBluetooth API
Florian Müllner [Thu, 1 Sep 2022 15:30:33 +0000 (17:30 +0200)]
config: Check for new required GnomeBluetooth API

Client.default_adapter_state is a recent API addition, so update
the HAVE_BLUETOOTH check accordingly before depending on it.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2444>

4 years agocss: Shave padding off of the quick settings menu
Sam Hewitt [Wed, 31 Aug 2022 17:25:33 +0000 (14:55 -0230)]
css: Shave padding off of the quick settings menu

- reduce overall menu padding
- reduce internal padding on submenu
- tweak button sizing

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2463>

4 years agoUpdate Danish translation
Alan Mortensen [Sat, 3 Sep 2022 11:58:36 +0000 (11:58 +0000)]
Update Danish translation

4 years agoUpdate Latvian translation
Rūdolfs Mazurs [Sat, 3 Sep 2022 09:22:27 +0000 (09:22 +0000)]
Update Latvian translation

4 years agoUpdate Kazakh translation
Baurzhan Muftakhidinov [Sat, 3 Sep 2022 04:59:32 +0000 (04:59 +0000)]
Update Kazakh translation

4 years agopadOsd: Figure out label/edition UI positions from unchanged fonts
Carlos Garnacho [Sat, 30 Apr 2022 12:09:37 +0000 (14:09 +0200)]
padOsd: Figure out label/edition UI positions from unchanged fonts

We can figure out the position to render the text without resorting to
font sizes that make the whole text element sub-pixel size. As the
original labels in the SVG are themed invisible anyway, calculate the
button/ring/strip label and configuration UI position from their unchanged
size/location.

Closes: https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/5415
Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2288>

4 years agost/label: Don't guard against NULL text
Florian Müllner [Fri, 2 Sep 2022 16:46:13 +0000 (18:46 +0200)]
st/label: Don't guard against NULL text

Commit 9168f6055e marked the parameter as nullable, which is in
conflict with the precondition check. But given that NULL is
valid for the underlying ClutterText (and GtkLabel accepts it
as well), there's no strong argument for disallowing NULL, so
remove the precondition check.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2465>

4 years agoci: Bump image
Florian Müllner [Thu, 1 Sep 2022 15:50:09 +0000 (17:50 +0200)]
ci: Bump image

Mutter grew a dependency on colord, so bump the image to pull it in.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2464>

4 years agoUpdate Dutch translation
Nathan Follens [Thu, 1 Sep 2022 15:48:21 +0000 (15:48 +0000)]
Update Dutch translation

4 years agoUpdate Hungarian translation
Balázs Úr [Thu, 1 Sep 2022 00:07:52 +0000 (00:07 +0000)]
Update Hungarian translation

4 years agoUpdate Slovenian translation
Matej Urbančič [Wed, 31 Aug 2022 18:52:48 +0000 (18:52 +0000)]
Update Slovenian translation

4 years agostatus/volume: Request symbolic style for device menu items
Florian Müllner [Tue, 30 Aug 2022 16:31:06 +0000 (18:31 +0200)]
status/volume: Request symbolic style for device menu items

We get device icons from gnome-volume-control, which itself may
get them from pulseaudio. That is, we don't have control over
whether icon names are symbolic.

As we do want menu items to use symbolic icons, enforce that
via CSS instead.

https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/5805

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2456>

4 years agoquickSettings: Override StButton:label property
Florian Müllner [Mon, 22 Aug 2022 23:30:18 +0000 (01:30 +0200)]
quickSettings: Override StButton:label property

StButton already has a :label property, so we should override it
instead of shadowing it with a new property of the same name, like
we already do for :icon-name.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2462>

4 years agocalendar: Correct handling of recurring events
Milan Crha [Mon, 6 Jun 2022 15:31:23 +0000 (17:31 +0200)]
calendar: Correct handling of recurring events

When a recurring event has deleted a single instance, it's received
as an event modification, thus make sure all of the old instances
are removed before adding the event to the list of events.

Closes https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/4592

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2328>

4 years agoshell/screenshot: Plug memory leak
Florian Müllner [Wed, 31 Aug 2022 10:51:54 +0000 (12:51 +0200)]
shell/screenshot: Plug memory leak

grab_screenshot_content() does not follow the usual pattern of
```
  task = g_task_new (...);
  g_task_run_in_thread (task, ...);
  g_object_unref (task);
```

That means we hold the original reference throughout the operation,
and must release it ourselves when done.

https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/5501

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2461>